package Day_0201.JUC;

/**
 * @author zxc
 * @date 2023/02/01 17:07
 **/
public class Javaprogram_execution {
    public static void main(String[] args) {
        /**
         * Java程序是如何执行的？
         * ===》
         * Java 程序的执行流程基本都是相同的，它的执行流程如下：
         * 1.先把 Java 代码编译成字节码，也就是把 .java 类型的文件编译成 .class 类型的文件。
         * 这个过程的大致执行流程：
         * Java 源代码 -> 词法分析器 -> 语法分析器 -> 语义分析器 -> 字符码生成器 ->最终生成字节码;
         *
         * 2.把 class 文件放置到 Java 虚拟机;
         * （1）Java 虚拟机使用类加载器（Class Loader）装载 class 文件；
         *
         * （2）类加载完成之后，会进行字节码效验;（类加载系统）
         * ===> class文件，在JVM中被加载成class对象
         * 类加载的大致流程 ：
         * 加载 -> 链接（验证 -> 准备 -> 解析）-> 初始化;
         *
         * （3）字节码效验通过之后,JVM 解释器会把字节码翻译成机器码交由操作系统执行。（执行引擎系统）
         *
         */
    }
}
